package com.w3c.pragmatic.common.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.stream.Stream;

@Getter
@AllArgsConstructor
public enum OperatorEnum {
  SAVE("save", "新增"),
  UPDATE("update", "编辑"),
  SAVE_OR_UPDATE("saveOrUpdate", "新增或编辑"),
  SELECT("select", "查询"),
  DELETE("delete", "删除"),
  OTHER("other", "其他");

  // 操作类型
  private final String oprType;
  // 操作描述
  private final String oprDesc;

  /**
   * 通过操作类型获取操作枚举
   *
   * @param oprType 操作类型
   * @return 返回枚举对象
   */
  public static OperatorEnum getEnumByType(String oprType) {
    return Stream.of(values()).filter(e -> e.oprType.equals(oprType)).findFirst().orElse(OperatorEnum.OTHER);
  }
}
